using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum;
using Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Response;

namespace Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Request
{
	/// <summary>
    /// Data:13/02/2008 12:55
    /// Autor:DMilanez.7Comm
    /// Obs: diveras propriedades passaram a ser anulaveis
	/// </summary>
	[DataContract(Namespace = "http://www.bovespa.com.br/Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Request")]
	public partial class IncluirNegocioRequest
	{		

        private System.DateTime? DataMovimentoField;

        [DataMember(IsRequired = false)]
        public System.DateTime? DataMovimento
        {
            get { return DataMovimentoField; }
            set { DataMovimentoField = value; }
        }

        private System.DateTime? DataPregaoField;

        [DataMember(IsRequired = true)]
        public System.DateTime? DataPregao
        {
            get { return DataPregaoField; }
            set { DataPregaoField = value; }
        }

        private System.String BolsaField;

        [DataMember(IsRequired = false)]
        public System.String Bolsa
        {
            get { return BolsaField; }
            set { BolsaField = value; }
        }

        private System.DateTime? HoraNegocioField;

        [DataMember(IsRequired = false)]
        public System.DateTime? HoraNegocio
        {
            get { return HoraNegocioField; }
            set { HoraNegocioField = value; }
        }

        private TipoNaturezaOperacao? TipoNaturezaOperacaoField;

        [DataMember(IsRequired = false)]
        public TipoNaturezaOperacao? TipoNaturezaOperacao
        {
            get { return TipoNaturezaOperacaoField; }
            set { TipoNaturezaOperacaoField = value; }
        }

        private System.Int32? NumeroNegocioField;
        [DataMember(IsRequired = false)]
        public System.Int32? NumeroNegocio
        {
            get { return NumeroNegocioField; }
            set { NumeroNegocioField = value; }
        }

        private System.Int32? DigitoNegocioField;
        [DataMember(IsRequired = false)]
        public System.Int32? DigitoNegocio
        {
            get { return DigitoNegocioField; }
            set { DigitoNegocioField = value; }
        }

        private System.Int32? ContraParteField;

        [DataMember(IsRequired = false)]
        public System.Int32? ContraParte
        {
            get { return ContraParteField; }
            set { ContraParteField = value; }
        }

        private Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum.TipoMercado? TipoMercadoField;
        [DataMember(IsRequired = false)]
        public Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum.TipoMercado? TipoMercado
        {
            get { return TipoMercadoField; }
            set { TipoMercadoField = value; }
        }

        private TipoTermo? TipoTermoField;

        [DataMember(IsRequired = false)]
        public TipoTermo? TipoTermo
        {
            get { return TipoTermoField; }
            set { TipoTermoField = value; }
        }
              
        private System.String _codigoTitulo;
        [DataMember(IsRequired = false)]
        public System.String CodigoTitulo
        {
            get { return _codigoTitulo; }
            set { _codigoTitulo = value; }
        }
        
        private int? _diasLiquidacao;
        [DataMember(IsRequired = false)]
        public int? DiasLiquidacao
        {
            get { return _diasLiquidacao; }
            set { _diasLiquidacao = value; }
        }

        private string _descricaoTitulo;
        [DataMember(IsRequired = false)]
        public string DescricaoTitulo
        {
            get { return _descricaoTitulo; }
            set { _descricaoTitulo = value; }
        }

        private string _especificacaoTitulo;
        [DataMember(IsRequired = false)]
        public string EspecificacaoTitulo
        {
            get { return _especificacaoTitulo; }
            set { _especificacaoTitulo = value; }
        }

        private System.Int32? PrazoTermoField;
        [DataMember(IsRequired = false)]
        public System.Int32? PrazoTermo
        {
            get { return PrazoTermoField; }
            set { PrazoTermoField = value; }
        }

        private System.DateTime? VencimentoOpcoesTermoField;

        [DataMember(IsRequired = false)]
        public System.DateTime? VencimentoOpcoesTermo
        {
            get { return VencimentoOpcoesTermoField; }
            set { VencimentoOpcoesTermoField = value; }
        }

        private System.String TituloObjetoField;

        [DataMember(IsRequired = false)]
        public System.String TituloObjeto
        {
            get { return TituloObjetoField; }
            set { TituloObjetoField = value; }
        }

        private TipoOrigemNegocio? TipoOrigemField;

        [DataMember(IsRequired = false)]
        public TipoOrigemNegocio? TipoOrigem
        {
            get { return TipoOrigemField; }
            set { TipoOrigemField = value; }
        }

        private System.Decimal? QuantidadeField;
        [DataMember(IsRequired = false, Order = 12)]
        public System.Decimal? Quantidade
        {
            get { return QuantidadeField; }
            set { QuantidadeField = value; }
        }

        private System.Decimal? PrecoField;

        [DataMember(IsRequired = false)]
        public System.Decimal? Preco
        {
            get { return PrecoField; }
            set { PrecoField = value; }
        }

        private System.Boolean PontaGeradoraOfertaField;

        [DataMember(IsRequired = false, Order = 15)]
        public System.Boolean PontaGeradoraOferta
        {
            get { return PontaGeradoraOfertaField; }
            set { PontaGeradoraOfertaField = value; }
        }

        private System.Boolean NaoLiquidaNotaField;

        [DataMember(IsRequired = false, Order = 16)]
        public System.Boolean NaoLiquidaNota
        {
            get { return NaoLiquidaNotaField; }
            set { NaoLiquidaNotaField = value; }
        }

        private System.Boolean NegociadoAfterMarketField;

        [DataMember(IsRequired = false, Order = 17)]
        public System.Boolean NegociadoAfterMarket
        {
            get { return NegociadoAfterMarketField; }
            set { NegociadoAfterMarketField = value; }
        }

        private System.String ObservacaoField;

        [DataMember(IsRequired = false, Order = 18)]
        public System.String Observacao
        {
            get { return ObservacaoField; }
            set { ObservacaoField = value; }
        }

        private System.Int32? CodigoCorrespondenteField;

        [DataMember(IsRequired = false, Order = 21)]
        public System.Int32? CodigoCorrespondente
        {
            get { return CodigoCorrespondenteField; }
            set { CodigoCorrespondenteField = value; }
        }

        private System.Decimal? PercentualCorrespondenteField;

        [DataMember(IsRequired = false)]
        public System.Decimal? PercentualCorrespondente
        {
            get { return PercentualCorrespondenteField; }
            set { PercentualCorrespondenteField = value; }
        }

        private TipoLiquidacaoNegocio? TipoLiquidacaoField;

        [DataMember(IsRequired = false)]
        public TipoLiquidacaoNegocio? TipoLiquidacao
        {
            get { return TipoLiquidacaoField; }
            set { TipoLiquidacaoField = value; }
        }

        private TipoEstrategia? EstrategiaField;

        [DataMember(IsRequired = false)]
        public TipoEstrategia? Estrategia
        {
            get { return EstrategiaField; }
            set { EstrategiaField = value; }
        }

        private TipoOfertaBovespaFix? TipoOfertaBovespaFixField;

        [DataMember(IsRequired = false)]
        public TipoOfertaBovespaFix? TipoOfertaBovespaFix
        {
            get { return TipoOfertaBovespaFixField; }
            set { TipoOfertaBovespaFixField = value; }
        }

        /// Data:13/02/2008 17:02
        /// Autor:DMilanez.7Comm
        /// Obs:
        /// Adicao da propriedade
        private System.Decimal? _fatorValorizacao;
        [DataMember(IsRequired = false)]
        public System.Decimal? FatorValorizacao
        {
            get { return _fatorValorizacao; }
            set { _fatorValorizacao = value; }
        }
	}
}
